package twoPoint.p1;

import java.util.Arrays;

public class test_293 {
    public static void main(String[] args) {
        int[] nums={0,1,0,3,12};
        int i = new Solution().moveZeroes(nums);
        System.out.println(i);

    }
}

class Solution {
    public int moveZeroes(int[] nums) {
        int len =nums.length;
        int r=0;
        int l=0;
        int count=0;
        while(r<len){
            if(nums[r]!=0){
                swap(nums,r,l);
                l++;
                count++;
            }
            r++;
        }
return count;
    }
    public static void  swap(int[] nums,int r,int l){
        int temp=nums[l];
        nums[l]=nums[r];
        nums[r]=temp;
    }
}
//class Solution {
//    public int moveZeroes(int[] nums) {
//        int len =nums.length;
//        int l=0,r=0;
//        int count=0;
//        //{0,1,1,3,12};
//        while (r<len){
//            if (nums[r]==0||nums[l]==0){
//                if (l < len-1) {
//                    count++;
//                    r++;
//                    swap(nums,r,l);
//                    l++;
//                }else {
//                    break;
//                }
//            }else {
//                r++;
//            }
//        }
//        return count;
//    }
//    public static void  swap(int[] nums,int r,int l){
//            int temp=nums[r];
//            nums[r]=nums[l];
//            nums[l]=temp;
//    }
//}